package Day21.thisMethodReference;

/**
 * @version 1.0
 * @BelongsProject:IntelliJ IDEA
 * @BelongsPackage:Day21.thisMethodReference
 * @Author:hyhWTX
 * @ClassName:Husband
 * @CreateTime:2022年-10月-22日 11:34
 * @Description: 一个丈夫类，使用this引用本类的成员方法
 */
public class Husband {
    /**
    * @Author HYH
    * @Description 定义一个买房子的方法！
    * @Date 11:38 2022/10/22
    * @Param
    * @return void
    **/
    public void buyHouse(){
        System.out.println("在北京二环买套房！");
    }
    /**
    * @Author HYH
    * @Description 定义一个结婚的方法
    * @Date 11:40 2022/10/22
    * @Param r
    * @return void
    **/
    private void marry(Richable r){
        r.buy();
    }
    /**
    * @Author HYH
    * @Description 定义一个开心的方法！
    * @Date 11:41 2022/10/22
    * @Param
    * @return void
    **/
    public void behappy(){
//        marry(()->{
//            this.buyHouse();
//        });
//        marry(()->System.out.println("买房子！"));

//        使用方法引用，优化Lambda表达式。this存在，buyHouse方法也是存在的，可以直接使用this
        marry(this::buyHouse);
    }
    public static void main(String[] args) {
        new Husband().behappy();
    }
}
